/********************************************************************************
 * Project Name		[JavaEE_Components]
 * File Name     	[JavaMail01.java]
 * Creation Date 	[2015-01-01]
 * 
 * Copyright© ge.y.yang@gmail.com All Rights Reserved
 * 
 * Work hard, play harder, think big and keep fit
 ********************************************************************************/
package javamail._notes;

/**
 * JavaMail学习
 * 
 * @author 不落的太阳(Sean Yang aka ShortPeace)
 * @version 1.0
 * @since jdk 1.8
 * 
 */
public final class JavaMail01 {

	public void javamailConcept() {
		/**
		 * JavaMail API提供了一种与平台无关和协议独立的框架来构建邮件和消息应用程序<br/>
		 * JavaMail API提供了一组抽象类定义构成一个邮件系统的对象, 它是阅读, 撰写和发送电子信息的可选包[标准扩展]<br/>
		 * 
		 * JavaMail API支持的协议:<br/>
		 * SMTP<br/>
		 * POP<br/>
		 * IMAP<br/>
		 * MIME<br/>
		 * NNTP<br/>
		 */
	}

	public void preparationWork() {
		/**
		 * 开发准备<br/>
		 * 1. 下载JavaMail的相关jar文件<br/>
		 * 2. 下载JAF(activation.jar), jdk 1.6自带<br/>
		 */
	}

	public void coreAPI() {
		/**
		 * javax.mail.Message<br/>
		 * 创建和解析邮件的核心API, 它的实例对象代表一封电子邮件<br/>
		 * 1. 客户端程序发送邮件时, 首先使用创建邮件的API, 将要创建邮件的数据封装到Message对象中,
		 * 然后把这个对象传递给邮件发送API发送出去<br/>
		 * 2. 客户端程序接收邮件时, 邮件接收API把接收到的邮件数据封装在Message类的实例对象中, 客户端程序再使用邮件解析API,
		 * 从这个对象中解析出接收到的邮件数据<br/>
		 * 
		 * javax.mail.Session<br/>
		 * 用于定义整个应用程序所需的环境信息, 以及收集客户端与邮件服务器建立网络连接的会话信息, 如邮件服务器的主机名, 端口号,
		 * 采用的邮件发送和接收协议等<br/>
		 * Session对象根据这些会话信息构建邮件收发的Store和Transport对象以及为客户端创建Message对象提供信息支持
		 * <br/>
		 * 
		 * javax.mail.Transport<br/>
		 * 发送邮件的核心API类, 它的实例对象代表实现了某个邮件发送协议的邮件发送对象, 例如SMTP协议<br/>
		 * 客户端程序创建好Message对象后, 只需要使用邮件发送API得到Transport对象, 然后把Message对象传递给
		 * Transport对象并调用它的发送方法, 就可以把邮件发送给指定的SMTP服务器<br/>
		 * 
		 * javax.mail.Store<br/>
		 * 接收邮件的核心API类, 它的实例对象代表实现某个邮件接收协议的邮件接收对象, 例如POP3和IMAP协议<br/>
		 * 客户端程序接收邮件时, 只需要使用邮件接收API得到Store对象, 然后调用Store对象的接收方法, 就可以从指定的
		 * POP3服务器中获得邮件数据, 并把这些邮件数据封装到表示邮件的Message对象中<br/>
		 */
	}
}
